package com.api.rc.vo;

import com.api.rc.enums.PlayerGameStatus;
import com.api.rc.enums.RoomFee;
import com.api.rc.enums.RoomStatus;
import com.api.user.vo.GameVo;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @author RenQiang
 * @date 2021/7/17
 */
@Data
public class RoomVo implements Serializable {
    private static final long serialVersionUID = -6022632269176561570L;

    /**
     * 房间ID
     */
    private Long roomId;
    /**
     * 游戏ID
     */
    private Long gameId;
    /**
     * 游戏
     */
    private GameVo game;
    /**
     * 房间名称
     */
    private String roomName;
    /**
     * 主持人信息
     */
    private HostOverviewVo host;
    /**
     * 是否是公开房间
     */
    private Boolean isPublic;
    /**
     * 计划游戏时间
     */
    private Date planningPlayTime;
    /**
     * 游戏模式
     */
    private String gameMode;
    /**
     * 房间容量（能容纳的玩家数量）
     */
    private Integer capacity;
    /**
     * 当前房间内玩家数量
     */
    private Integer players;
    /**
     * 房间费用
     */
    private BigDecimal fee;
    /**
     * 房间状态
     */
    private RoomStatus roomStatus;
    /**
     * 玩家游戏状态
     */
    private PlayerGameStatus gameStatus;
    /**
     * 房间费用
     */
    private RoomFee roomFee;
    /**
     * 创建时间
     */
    private Date createTime;
    /**
     * 平台回报Coins
     */
    private BigDecimal platformRewardCoins;
    /**
     * 主持人赚取Coins
     */
    private BigDecimal hostEarnCoins;
    /**
     * BO几
     */
    private Integer bestOf;
    /**
     * 房间队伍数量
     */
    private Integer teamsCount;
}
